package com.common.weibolib;

import android.content.Context;
import android.text.TextUtils;
import android.util.Log;

import com.common.weibolib.ConstDefine.RequestParams;
import com.product.android.business.config.Configuration;

public class NdBaseSdk {

	/**服务端分页默认20条*/
	public final static int PAGE_SIZE = 20;
	
	/** 服务端根据内外网配置设置ID上限 */
	public final static long ID_MAX = Configuration.DEBUG  ? Integer.MAX_VALUE : Long.MAX_VALUE;
	
	/**
     * 判断该id是否有必要上传
     * 
     * <br>Created 2014-5-13 下午5:03:26
     * @param id  参数
     * @return  boolean
     * @author        :  huangszh
     */
    public boolean checkIsValidParam(long id) {
        // 如果等于0或者ID_MAX说明是取最新或者最旧的，可以不用传
        if(id > 0 && id < ID_MAX){
            return true;
        }
        else{
            return false;
        }
    }
    
    /**
     * 添加id_max参数到url(需要过滤0和MAX值的调这个方法，否则调addRequestParam)
     * 
     * <br>Created 2014-5-15 下午5:12:36
     * @param url   请求url
     * @param maxId  最大id
     * @author        :  huangszh
     */
    public void addIdMaxParam(StringBuilder url,long maxId) {
        if(url == null) {
            return;
        }
        if (checkIsValidParam(maxId)) {
            url.append(RequestParams.KEY_SEPARATOR).append(RequestParams.KEY_ID_MAX)
                    .append(RequestParams.KEY_SEPARATOR).append(maxId);
        }
    }
    
    /**
     * 添加id_min参数到url(需要过滤0和MAX值的调这个方法，否则调addRequestParam)
     * 
     * <br>Created 2014-5-15 下午5:12:36
     * @param url   请求url
     * @param maxId  最大id
     * @author        :  huangszh
     */
    public void addIdMinParam(StringBuilder url,long minId) {
        if(url == null) {
            return;
        }
        if (checkIsValidParam(minId)) {
            url.append(RequestParams.KEY_SEPARATOR).append(RequestParams.KEY_ID_MIN)
                    .append(RequestParams.KEY_SEPARATOR).append(minId);
        }
    }
   
    /**
     * 添加请求参数到url（url/key/value）
     * 
     * <br>Created 2014-5-15 下午5:20:58
     * @param url   请求url
     * @param key   参数名
     * @param value 参数值
     * @author        :  huangszh
     */
    public void addRequestParam(StringBuilder url,String key,Object value) {
        if(url == null) {
            return;
        }
        url.append(RequestParams.KEY_SEPARATOR).append(key)
                .append(RequestParams.KEY_SEPARATOR).append(value);
    }
	
	/**
	 * 
	 * @n<b>函数名称</b>     :addSidAndUid
	 * @brief	鲜花那边的url特殊处理
	 * @see	
	 * @since    Ver 1.1
	 * @param  @param mContext
	 * @param  @param url
	 * @param  @return
	 * @return String
	 * @<b>作者</b>          :  huangszh
	 * @<b>创建时间</b>      :  2014-3-6下午5:37:11
	 */
	public static String addSidAndUid(Context mContext,String url){
		return addSidAndUid(mContext, new StringBuilder(url));
	}
	
	/**
	 * 
	 * @n<b>函数名称</b>     :addSidAndUid
	 * @brief	鲜花那边的url特殊处理
	 * @see	
	 * @since    Ver 1.1
	 * @param  @param mContext
	 * @param  @param url
	 * @param  @return
	 * @return String
	 * @<b>作者</b>          :  huangszh
	 * @<b>创建时间</b>      :  2014-3-6下午5:37:11
	 */
	public static String addSidAndUid(Context mContext,StringBuilder url){
		
		if(url.indexOf("?") != -1){
			url.append("&cuid=");
		}
		else{
			url.append("?cuid=");
		}
		url.append(String.valueOf(GlobalSetting.getUid()));
		if(!TextUtils.isEmpty(GlobalSetting.getSid(mContext))){

			url.append("&sid=" + GlobalSetting.getSid(mContext));
		}
		else{
			Log.e("addSidAndUid", "sid is null");
		}
		return url.toString();
	}
	
}
